/**
 * 简单的日志记录器
 * 用于在页面上显示日志信息
 */

class Logger {
    constructor(containerId) {
        this.container = document.getElementById(containerId);
    }

    /**
     * 记录信息日志
     * @param {string} message - 日志消息
     */
    info(message) {
        this.log(message, 'info');
    }

    /**
     * 记录警告日志
     * @param {string} message - 日志消息
     */
    warn(message) {
        this.log(message, 'warning');
    }

    /**
     * 记录警告日志（别名）
     * @param {string} message - 日志消息
     */
    warning(message) {
        this.log(message, 'warning');
    }

    /**
     * 记录错误日志
     * @param {string} message - 日志消息
     */
    error(message) {
        this.log(message, 'error');
    }

    /**
     * 记录成功日志
     * @param {string} message - 日志消息
     */
    success(message) {
        this.log(message, 'success');
    }

    /**
     * 记录日志到容器
     * @param {string} message - 日志消息
     * @param {string} level - 日志级别
     */
    log(message, level = 'info') {
        if (!this.container) {
            console.log(`[${level}] ${message}`);
            return;
        }

        const logEntry = document.createElement('div');
        logEntry.className = `log-entry log-${level}`;
        logEntry.innerHTML = `[${new Date().toLocaleTimeString()}] ${level.toUpperCase()}: ${message}`;
        
        this.container.appendChild(logEntry);
        this.container.scrollTop = this.container.scrollHeight;
    }

    /**
     * 清空日志
     */
    clear() {
        if (this.container) {
            this.container.innerHTML = '';
        }
    }
}

module.exports = Logger;